﻿//++
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
// Module Name:
//
//    NotificationData.cs
//
// Abstract:
//    
//    Implements INotificationData for passing in data needed to parse rules
//
//--

using System;
using System.Diagnostics;

namespace Microsoft.EnhancedReminders
{
    /// <summary>
    /// Implements INotificationData for passing in data needed to parse rules
    /// </summary>
    public sealed class NotificationData : INotificationData
    {
        private string _sender;
        private MailboxType _mailboxType;
        private DateTime _dateTime;

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="mailboxType">MailboxType</param>
        /// <param name="dateTime">Time range of mailbox item</param>
        public NotificationData(string sender, MailboxType mailboxType, DateTime dateTime)
        {
            Debug.Assert(dateTime != null, "dateTime != null");

            _sender = sender;
            _mailboxType = mailboxType;
            _dateTime = dateTime;
        }


        #region INotificationData Members

        /// <summary>
        /// List of senders
        /// </summary>
        public string Sender
        {
            get
            {
                return _sender;
            }
        }

        /// <summary>
        /// MailboxType
        /// </summary>
        public MailboxType MailboxType
        {
            get
            {
                return _mailboxType;
            }
        }

        /// <summary>
        /// Time range
        /// </summary>
        public DateTime DateTime
        {
            get
            {
                return _dateTime;
            }
            set
            {
                _dateTime = value;
            }
        }

        #endregion
    }
}
